package com.shaozj.datasource.dynamic;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

import javax.sql.DataSource;

public class DynamicDataSource extends AbstractRoutingDataSource {

    /**
     * 如果不希望数据源在启动配置时就加载好，可以制定这个方法，从任何你希望的地方读取并返回数据源
     * 比如：数据库、文件、外部接口等读取数据源信息，并最终返回一个datasource对象。
     * @return
     */
    @Override
    protected DataSource determineTargetDataSource() {
        return super.determineTargetDataSource();
    }

    /**
     * 如果希望所有数据源都在启动配置时加载好，这里通过设置数据源key来切换数据，定制这个方法。
     * @return
     */
    @Override
    protected Object determineCurrentLookupKey() {
        return null;
    }
}
